package la.iok.hzsvn.lewin.movie.service;

import la.iok.hzsvn.lewin.movie.entity.MovieAssistImage;
import la.iok.hzsvn.lewin.mybatis.service.BaseService;
import la.iok.hzsvn.share.annotations.NotNull;
import la.iok.hzsvn.share.annotations.NotNullElement;
import la.iok.hzsvn.share.annotations.NullElement;
import la.iok.hzsvn.share.annotations.Nullable;

import javax.servlet.http.HttpServletResponse;
import java.util.Collection;
import java.util.List;

public interface MovieAssistImageService extends BaseService<MovieAssistImage,Long> {

    Long save(Long movieInstanceId, Long imgFileId, String imgPath);

    String digest(Long id);

    String storePath(Long id);

    void downloadFile(HttpServletResponse response, Long id);

    /**
     * 查询剧本实例的手册文件中的图片对象
     * @param movieInstanceId 剧本实例id
     * @return 剧本手册文件中的图片对象信息
     */
    @NotNull
    @NotNullElement
    List<MovieAssistImage> assistImages(Long movieInstanceId);

    /**
     * 标记删除
     * @param ids id集合
     */
    void markFileDeleted(@Nullable @NullElement Collection<Long> ids);
}
